1. Field of the Invention
The field of the invention relates generally to an object oriented programming environment. More particularly, the invention relates to a Messenger and Object Manager system to implement an object oriented environment.
2. Related Art
This section provides a brief description of object oriented computing system concepts which are pertinent to the present invention. A more detailed description of the concepts discussed in this section is found in a number of references, including Object-Oriented Systems Analysis by Sally Shlaer and Stephen J. Mellor (Yourdon Press Computing Series, 1988), Object Oriented Design With Applications by Grady Booch (The Benjamin/Cummings Publishing Company, 1990) and Object Oriented Software Construction by B. Meyer, (Prentice Hall, 1988).
In object oriented programming systems (OOPS), "messages" are sent to "objects". There are two parts to a message. The parts are: (1) Object (2) Action. The object of the message simply identifies that piece of data which comprises a specific object, called an "instance". The action specifies what to do to with that data.
In order to develop an OOPS environment, it is necessary to have what is known as an Object Manager and Messenger. The Object Manager's (OM) responsibility is to manage and keep track of all objects, whether stored in volatile memory (RAM) or in non-volatile persistent memory (called DASD or Direct Access Storage Device). The Messenger's responsibility is to see that every message is sent to the correct method code and that this method operates upon the correct object data.
In conventional programming, emphasis is put on methods to be conducted on data sets. In OOPS one is concerned with real world objects. These real world objects have attributes and actions to be performed on the attributes. An object is a data structure containing information about something of interest to the system and its users. Objects having similar characteristics and common behavior are instance objects of the class. In summary, instance objects contain information about things in the system and class objects contain information about instance objects. Class objects contain information that is global to all instances of a single class.